ATI Tray Tools has Shared Memory with full information about currect GPU/Memory speed, temperatures and FAN Speed. Current Settings for Direct3D AA/AF, OpenGL AA/AF. Current mode (2d/3d), Here is a structure: Borland Delphi: type TATTData=packed record CurGPU:dword; //Current GPU Speed CurMEM:dword; //Current MEM Speed isGameActive:dword; //If game from profile is active, this field will be 1 or 0 if not. is3DActive:dword; //1=3D mode, 0=2D mode isTempMonSupported:dword; //1 - if temperature monitoring supported by ATT GPUTemp:dword; //GPU Temperature ENVTemp:dword; //ENV Temperature FanDuty:dword; //FAN Duty MAXGpuTemp:dword; //MAX GPU Temperature (only if Hardware Monitor enabled!) MINGpuTemp:dword; //MIN GPU Temperature (only if Hardware Monitor enabled!) MAXEnvTemp:dword; //MAX ENV Temperature (only if Hardware Monitor enabled!) MINEnvTemp:dword; //MIN ENV Temperature (only if Hardware Monitor enabled!) //3d settings CurD3DAA:dword; //Direct3D Antialiasing value CurD3DAF:dword; //Direct3D Anisotropy value CurOGLAA:dword; //OpenGL Antialiasing value CurOGLAF:dword; //OpenGL Anisotropy value end; C++: typedef struct tagTATTData { DWORD CurGPU; //Current GPU Speed DWORD CurMEM; //Current MEM Speed DWORD isGameActive; //If game from profile is active, this field will be 1 or 0 if not. DWORD is3DActive; //1=3D mode, 0=2D mode DWORD isTempMonSupported; //1 - if temperature monitoring supported by ATT DWORD GPUTemp; //GPU Temperature DWORD ENVTemp; //ENV Temperature DWORD FanDuty; //FAN Duty DWORD MAXGpuTemp; //MAX GPU Temperature (only if Hardware Monitor enabled!) DWORD MINGpuTemp; //MIN GPU Temperature (only if Hardware Monitor enabled!) DWORD MAXEnvTemp; //MAX ENV Temperature (only if Hardware Monitor enabled!) DWORD MINEnvTemp; //MIN ENV Temperature (only if Hardware Monitor enabled!) //3d settings DWORD CurD3DAA; //Direct3D Antialiasing value DWORD CurD3DAF; //Direct3D Anisotropy value DWORD CurOGLAA; //OpenGL Antialiasing value DWORD CurOGLAF; //OpenGL Anisotropy value } TATTData, *PATTData;